c0e19419972e45fb23adcdf3e9d4dd56e3560745,src/org/openstreetmap/josm/gui/dialogs/PropertiesDialog.java,PropertiesDialog,PropertiesDialog,#MapFrame#,417

Before Change


		
		buttonPanel.add(createButton(marktr("Add"),tr("Add a new key/value pair to all objects"), KeyEvent.VK_A, buttonAction));
		buttonPanel.add(createButton(marktr("Edit"),tr( "Edit the value of the selected key for all objects"), KeyEvent.VK_E, buttonAction));
		buttonPanel.add(createButton(marktr("Delete"),tr("Delete the selected key in all objects"), KeyEvent.VK_D, buttonAction));
		add(buttonPanel, BorderLayout.SOUTH);

		DataSet.selListeners.add(this);

After Change


		add(scrollPane, BorderLayout.CENTER);

		JPanel buttonPanel = new JPanel(new GridLayout(1,3));
		ActionListener buttonAction = new ActionListener(){
			public void actionPerformed(ActionEvent e) {
				int row = membershipTable.getSelectedRow();
				if (e.getActionCommand().equals("Add"))
					add();
				else if(row >= 0)
				{
					if (e.getActionCommand().equals("Edit"))
						membershipEdit(row);
					else if (e.getActionCommand().equals("Delete")) {
						Relation cur = (Relation)membershipData.getValueAt(row, 0);
						NameVisitor n = new NameVisitor();
						cur.visit(n);
						if(JOptionPane.showConfirmDialog(Main.parent, tr("Really delete selection from relation {0}?", n.name),
						tr("Change relation"), JOptionPane.YES_NO_OPTION) == JOptionPane.YES_NO_OPTION)
						{
							Relation rel = new Relation(cur);
							Collection<OsmPrimitive> sel = Main.ds.getSelected();
							for (RelationMember rm : cur.members) {
								for (OsmPrimitive osm : sel) {
									if (rm.member == osm)
									{
										RelationMember mem = new RelationMember();
										mem.role = rm.role;
										mem.member = rm.member;
										rel.members.remove(mem);
										break;
									}
								}
							}
							Main.main.undoRedo.add(new ChangeCommand(cur, rel));
							selectionChanged(sel); // update whole table
						}
						
					}
				}
				else
				{
					int sel = propertyTable.getSelectedRow();
					if (e.getActionCommand().equals("Edit")) {
						if(propertyTable.getRowCount() == 1)
							sel = 0;
						if (sel == -1)
							JOptionPane.showMessageDialog(Main.parent, tr("Please select the row to edit."));
						else
							propertyEdit(sel);
					} else if (e.getActionCommand().equals("Delete")) {
						if (sel == -1)
							JOptionPane.showMessageDialog(Main.parent, tr("Please select the row to delete."));
						else
							delete(sel);
					}
				}
			}
		};
		
		buttonPanel.add(new SideButton(marktr("Add"),"add","Properties",tr("Add a new key/value pair to all objects"), KeyEvent.VK_A, buttonAction));
		buttonPanel.add(new SideButton(marktr("Edit"),"edit","Properties",tr("Edit the value of the selected key for all objects"), KeyEvent.VK_E, buttonAction));
		buttonPanel.add(new SideButton(marktr("Delete"),"delete","Properties",tr("Delete the selected key in all objects"), KeyEvent.VK_D, buttonAction));
		add(buttonPanel, BorderLayout.SOUTH);

		DataSet.selListeners.add(this);